package com.example.demo.convert;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.domain.entity.SysDictDO;
import com.example.demo.domain.param.SysDictCreateParam;
import com.example.demo.domain.param.SysDictUpdateParam;
import com.example.demo.domain.vo.SysDictInfoVO;
import com.example.demo.domain.vo.SysDictTreeVO;
import com.example.demo.domain.vo.SysDictVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * SysDictConvert
 *
 * @author haochen78
 * @date 2025/10/3 22:37
 **/
@Mapper
public interface SysDictConvert {
    SysDictConvert INSTANCE = Mappers.getMapper(SysDictConvert.class);

    SysDictVO doToVo(SysDictDO sysDictDO);

    SysDictDO paramToDo(SysDictCreateParam param);

    SysDictDO paramToDo(SysDictUpdateParam param);

    List<SysDictInfoVO> doToVoList(List<SysDictDO> list);

    SysDictTreeVO toTreeVO(SysDictDO sysDictDO);

    Page<SysDictVO> doToVoPage(Page<SysDictDO> page);
}
